package com.mgetool.ui.page;

import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.graphics.GC;

/**
 * 适用于全屏显示的独立页面，相当于一个容器，里面可以包含各个{@link DrawableInterface}
 * 组件、或者自定义的绘制元素,堆栈式管理，显示某个页面只需要将此页面对象压入堆栈中
 * @author wangbin
 *
 */
public interface PageViewInterface {

	public abstract void init();

	public abstract void onCreated();

	public abstract void onSizeChanged(int width, int height);

	public abstract void onDestroyed();

	public abstract boolean onKey(int state, KeyEvent keyEvent);

	public abstract boolean onMouseEvent(int eventState, MouseEvent event);

	public abstract void onUpdate();

	public abstract void onDraw(GC gc);
	
}
